// 导包/用包   官网 vue-axios  有示例可以直接 cv 
import Vue from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'


Vue.use(VueAxios, axios)


// 创建全局instance实例对象  用于封装基地址
const instance = axios.create({
    baseURL: 'https://autumnfish.cn/bignews/api/v1',
    timeout: 10000,
    // 设置 老版本的请求头
    headers: {'Content-Type' : 'application/x-www-form-urlencoded'},
    /*
        transformRequest 允许在向服务器发送前，修改请求数据
        只能用在 put、post、patch  这个几个请求方法
        后面数组中的函数必须返回一个字符串，或 ArrayBuffer 或 Stream
    */
   transformRequest: [
       function (data, headers){
       // 对data 进行任意转换处理
       // 把json格式参数转换成 key=value 格式
       let sp = new URLSearchParams()
       for(let key in data) {
           sp.append(key,data[key])
       };
       return sp;
   }]
})


// 添加请求拦截器
instance.interceptors.request.use(
    function (config){
        // 在发送请求之前做些什么
        return config
    },
    function (error){
        // 对请求错误做些什么
        return Promise.reject(error)
    }
)


// 导出instance实例对象
export default instance